Jak zjistit, zda je instalovany IB popr. FB server?

Otázka od: js-delphi@quick.cz

7. 6. 2004 15:22

Ahoj panove!
Tak dneska jeste jeden dotaz.
Potrebuju povolit instalaci jen kdyz uz je instalovany IB popr. FB server a
nevim jak to obecne zjistit...
Da se sahnout do registru, ale IBServer tam bude mit neco jineho, FBServer tam
bude mit neco jineho a to nemluvim o tom, ze muze vyjit nova verze FB a to
zpusobi zmenu v klici v registrech a tak to zrejme nezjistim...
Neresil jste to uz nekdo?
Diky za nasmerovani!
Jirka
--------------------------------------------------
Ing. Jiri Sokol; jiri.sokol@seznam.cz; 972 231 187
D6Prof+SP3; WinXPProf+SP1; FB 1.0.3/1.5
programator amater


Odpovedá: Fedor 'fi0dor' Tirsel

7. 6. 2004 18:57

: Ahoj panove!

Zdravim,

: Potrebuju povolit instalaci jen kdyz uz je instalovany IB popr. FB server a
: nevim jak to obecne zjistit...
: Da se sahnout do registru, ale IBServer tam bude mit neco jineho, FBServer
tam
: bude mit neco jineho a to nemluvim o tom, ze muze vyjit nova verze FB a to
: zpusobi zmenu v klici v registrech a tak to zrejme nezjistim...

obecne sa da pokusit pripojit sa na port 3050, kde oba servery defaultne bezia
(problem nastava pri nestandartnych nastaveniach serverov, tj. ked nekomunikuju
na porte 3050 ale na inom). Dalsou z moznosti je si okontrolovat systemove
registre (tych moznosti nie je zas tak moc, aby sa to nedalo spravit) resp.
prehladat disk -- konkretne sa zamerat na ibserver.exe a fbserver.exe. Na
pocitaci, kde je "NT like" OS sa da pohladat fbserver resp. ibserver v
spustenych servisoch (za predpokladu, ze server bezi ako sluzba a nie ako
aplikacia). Pre Interbase sa da este pouzit nasledovne: FindWindow(nil,
'Interbase Server').

S pozdravom...
--
Fedor 'fi0dor' Tirsel
www.fi0dor.info


Odpovedá: Petr Jarkovsky

7. 6. 2004 19:07

Ja to take zjistuju podle zaznamu v registru. Napr. pro FB 1.0 musi existovat
"SOFTWARE\FirebirdSQL\Firebird\CurrentVersion", pro FB 1.5 pak
"SOFTWARE\Firebird Project\Firebird Server\Instances" ... tato cesta by se uz
zrejme v budoucnu menit nemela. Ted z hlavy nevim, jak je to s Interbase. Timto
ale zjistis jen, jestli je IB/FB nainstalovan, ale ne, jestli je spusten, to je
vec druha...

Takze treba:
function IsFB15Installed: Boolean;
var
  LReg: TRegistry;
begin
  LReg := TRegistry.Create(KEY_READ);
  try
    LReg.RootKey := HKEY_LOCAL_MACHINE;
    Result :=
LReg.OpenKey('SOFTWARE\Firebird Project\Firebird
Server\Instances', False);
  finally
    LReg.Free;
  end;
end;

S pozdravem

Petr Jarkovsky


-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz] On Behalf
Of js-delphi@quick.cz

Ahoj panove!
Tak dneska jeste jeden dotaz.
Potrebuju povolit instalaci jen kdyz uz je instalovany IB popr. FB server a
nevim jak to obecne zjistit...
Da se sahnout do registru, ale IBServer tam bude mit neco jineho, FBServer tam
bude mit neco jineho a to nemluvim o tom, ze muze vyjit nova verze FB a to
zpusobi zmenu v klici v registrech a tak to zrejme nezjistim...
Neresil jste to uz nekdo?
Diky za nasmerovani!
Jirka